1. Field of the Invention
The present invention generally relates to computer-implemented database management systems, and in particular, to a method for assigning recoverable, unique sequence numbers in a transaction processing system.
2. Description of Related Art
Transaction control is well understood in the art and is often used to guarantee the integrity of enterprise databases. Guaranteeing the integrity of databases in the face of concurrent execution of multiple transactions and various failures is a very important issue with enterprise databases. Indeed, many methods have been developed in the past to deal with these problems for enterprise databases.
Transaction processing systems usually assign a unique sequence number (SN) to transactions, log file records, fields, etc. Generally, the SNs comprise values assigned a monotonically increasing value in an ascending sequence, although they can encompass other values and sequences as well.
A problem arises, however, in that the sequence number assignment to a transaction is an update operation to a record which is locked until transaction commit. This serializes other transactions because they wait for the updated record to be unlocked in order to receive their sequence number assignment. In a multi-system transaction processing system, e.g., where there is data sharing, an update of this record causes serialization across all systems, which inhibits transaction throughput.
Thus, there is a need in the art for enhanced transaction control for databases. Specifically, there is a need in the art for improved techniques for assigning sequence numbers without serialization.